/**
 * @file wordLogic.h
 * @author your name (you@domain.com)
 * @brief 位逻辑指令
 * @version 0.1
 * @date 2025-04-30
 *
 * @copyright Copyright (c) 2025
 *
 */
// convert.h
#ifndef WORDLOGIC_H
#define WORDLOGIC_H

#include "xmzTypeDefine.h"
#include <stdbool.h>
#include <stddef.h>

//定义一个虚拟节点的函数
Bool VirtualNode(int count,...);


Bool BitwiseOr(Bool en, void* out, size_t size, int count, ...);
Bool BitwiseAnd(Bool en, void* out, size_t size, int count, ...);
Bool BitwiseXor(Bool en, void* out, size_t size, int count, ...);
Bool BitwiseNot(Bool en, void* out, const void* in, size_t size);

Bool BitwiseOr_Byte(Bool en, Byte* out, int count, ...);
Bool BitwiseOr_Word(Bool en, Word* out, int count, ...);
Bool BitwiseOr_DWord(Bool en, DWord* out, int count, ...);

Bool BitwiseAnd_Byte(Bool en, Byte* out, int count, ...);
Bool BitwiseAnd_Word(Bool en, Word* out, int count, ...);
Bool BitwiseAnd_DWord(Bool en, DWord* out, int count, ...);

Bool BitwiseXor_Byte(Bool en, Byte* out, int count, ...);
Bool BitwiseXor_Word(Bool en, Word* out, int count, ...);
Bool BitwiseXor_DWord(Bool en, DWord* out, int count, ...);

Bool BitwiseNot_Byte(Bool en, Byte* out, Byte in);
Bool BitwiseNot_Word(Bool en, Word* out, Word in);
Bool BitwiseNot_DWord(Bool en, DWord* out, DWord in);

#endif
